找传奇、传世资源到传世资源站!

华为-Java语言编程规范_安全篇_V2.0

8.5玩家评分(1人评分)
下载后可评
介绍 评论 失效链接反馈

【例子介绍】华为-Java语言编程规范_安全篇_V2.0

【相关图片】

from clipboardfrom clipboardfrom clipboard

【源码结构】

目录

修订声明  PAGEREF _Toc394392174 \h 2

0 前言  PAGEREF _Toc394392175 \h 6

背景  PAGEREF _Toc394392176 \h 6

使用对象  PAGEREF _Toc394392177 \h 6

适用范围  PAGEREF _Toc394392178 \h 6

术语定义  PAGEREF _Toc394392179 \h 6

1 数据校验  PAGEREF _Toc394392180 \h 7

规则 1.1 校验跨信任边界传递的不可信数据  PAGEREF _Toc394392181 \h 7

规则 1.2 禁止直接使用不可信数据来拼接SQL语句  PAGEREF _Toc394392182 \h 8

规则 1.3 禁止直接使用不可信数据来拼接XML  PAGEREF _Toc394392183 \h 12

规则 1.4 禁止直接使用不可信数据来记录日志  PAGEREF _Toc394392184 \h 15

规则 1.5 从格式化字符串中排除用户输入  PAGEREF _Toc394392185 \h 16

规则 1.6 禁止向Runtime.exec() 方法传递不可信、未净化的数据  PAGEREF _Toc394392186 \h 17

规则 1.7 验证路径之前应该先将其标准化  PAGEREF _Toc394392187 \h 18

规则 1.8 安全地从ZipInputStream提取文件  PAGEREF _Toc394392188 \h 20

2 异常行为  PAGEREF _Toc394392189 \h 23

规则 2.1 不要抑制或者忽略已检查异常  PAGEREF _Toc394392190 \h 23

规则 2.2 禁止在异常中泄露敏感信息  PAGEREF _Toc394392191 \h 25

规则 2.3 方法发生异常时要恢复到之前的对象状态  PAGEREF _Toc394392192 \h 28

3 I/O操作  PAGEREF _Toc394392193 \h 30

规则 3.1 临时文件使用完毕应及时删除  PAGEREF _Toc394392194 \h 30

规则 3.2 不要将Buffer对象封装的数据暴露给不可信代码  PAGEREF _Toc394392195 \h 32

规则 3.3 在多用户系统中创建文件时指定合适的访问许可  PAGEREF _Toc394392196 \h 34

规则 3.4 避免让外部进程阻塞在输入输出流上  PAGEREF _Toc394392197 \h 34

规则 3.5 避免在共享目录操作文件  PAGEREF _Toc394392198 \h 36

4 序列化和反序列化  PAGEREF _Toc394392199 \h 40

规则 4.1 将敏感对象发送出信任区域前进行签名并加密  PAGEREF _Toc394392200 \h 40

规则 4.2 禁止序列化未加密的敏感数据  PAGEREF _Toc394392201 \h 43

规则 4.3 防止序列化和反序列化被利用来绕过安全管理  PAGEREF _Toc394392202 \h 45

5 平台安全  PAGEREF _Toc394392203 \h 46

规则 5.1 使用安全管理器来保护敏感操作  PAGEREF _Toc394392204 \h 46

规则 5.2 防止特权区域内出现非法的数据  PAGEREF _Toc394392205 \h 47

规则 5.3 禁止基于不信任的数据源做安全检查  PAGEREF _Toc394392206 \h 49

规则 5.4 禁止特权块向非信任域泄漏敏感信息  PAGEREF _Toc394392207 \h 50

规则 5.5 编写自定义类加载器时应调用超类的getPermission()函数  PAGEREF _Toc394392208 \h 52

规则 5.6 避免完全依赖URLClassLoaderjava.util.jar提供的默认自动签名认证机制  PAGEREF _Toc394392209 \h 53

6 运行环境  PAGEREF _Toc394392210 \h 55

规则 6.1 禁止给仅执行非特权操作的代码签名  PAGEREF _Toc394392211 \h 55

规范 6.2 不要使用危险的许可与目标组合  PAGEREF _Toc394392212 \h 55

规则 6.3 不要禁用字节码验证  PAGEREF _Toc394392213 \h 56

规则 6.4 禁止部署的应用可被远程监控  PAGEREF _Toc394392214 \h 56

规则 6.5 将所有安全敏感代码都放在一个jar包中,签名再加密  PAGEREF _Toc394392215 \h 57

规则 6.6 不要信任环境变量的值  PAGEREF _Toc394392216 \h 59

规则 6.6 生产代码不能包含任何调试入口点  PAGEREF _Toc394392217 \h 59

7 其他  PAGEREF _Toc394392218 \h 60

规则 7.1 禁止在日志中保存口令、密钥和其他敏感数据  PAGEREF _Toc394392219 \h 60

规则 7.2 禁止使用私有或者弱加密算法  PAGEREF _Toc394392220 \h 60

规则 7.3 基于哈希算法的口令安全存储必须加入盐值(salt  PAGEREF _Toc394392221 \h 60

规则 7.4 禁止将敏感信息硬编码在程序中  PAGEREF _Toc394392222 \h 61

规则 7.5 使用强随机数  PAGEREF _Toc394392223 \h 62

规则 7.6 防止将系统内部使用的锁对象暴露给不可信代码  PAGEREF _Toc394392224 \h 63

规则 7.7 使用SSLSocket代替Socket来进行安全数据交互  PAGEREF _Toc394392225 \h 64

规则 7.8 封装本地方法调用  PAGEREF _Toc394392226 \h 66

参考资料  PAGEREF _Toc394392227 \h 67

附录A  PAGEREF _Toc394392228 \h 67

附录B  PAGEREF _Toc394392229 \h 68

附录C  PAGEREF _Toc394392230 \h 68

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复